Introducing new applications (such as programs, transactions, classes, objects or methods) in an existing data processing environment poses several problems. Due to the rapid technological evolution, the new applications are normally based on different architectures compared to the existing applications; making the new applications capable of interacting with the existing ones can be a real challenge.
This problem is nowadays particularly felt, because a breed of new Internet-based services, for example for implementing e-business functions, is introduced. These new services need to interact with existing business functions within a company data processing system, such as legacy applications.
Similar problems may be encountered when already existing components need to collaborate to implement a new service.
In order to integrate a new application within a framework of existing, heterogeneous applications, or to make existing heterogeneous applications interact to achieve a new function, several critical factors, both technical and applicative, need to be considered. Multiple different skills in the field of information technology are involved, with a consequent increase in costs and time.
Four possible methodologies can be identified.
A first approach tries to maximally exploit the existing processes; in order to enable a new process to interact with an existing process, an interface layer is created capable of interpreting and properly translating requests from a business process into services and related coherence controls. Investements made for developing the already existing applications are in this way preserved.
According to a second approach, redundant functions are developed. The functions necessary for carrying out a new business process, albeit already present in the existing environment, are replicated in the new environment. The result is duplication of functions and data, causing increased development and management time and costs. Additionally, problems of reconciliation of the duplicated data may arise.
Following a third approach, the already existing functions are modified to adapt to the requirements of the new business process to be implemented. This involves a highly accurate knowledge of the existing functions and environment, and the availability of professional skills which may be not readily available. Consequently, the costs can be very high.
Finally, a fourth approach provides for developing a new application including both the new business processes and the business processes already in production. Apart from the costs, a rather long time may be required to put the new processes into production, with a negative impact on a company core business.